package com.cskaoyan.javase.recursion._2depth;

/**
 * 测试递归的深度(仅供娱乐)
 *
 * @since 10:19
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        sum(0);
    }

    public static int sum(int a) {
        /*
            try{} 代码块当中用来方法会抛出异常的正常执行的代码
            catch(){} 代码块配合try代码块使用,当try代码块中的代码恰好抛出异常,匹配catch中写入的异常
                那么catch代码块就会执行
                异常就会被捕获,不会被抛出,程序不会终止执行
         */
        try {
            return a + sum(a - 1);
        } catch (StackOverflowError error) {
            System.out.println("sum方法" + a + "层");
        }
        System.out.println("hello world!");
        return 0;
    }
}
